/*
 * XML Type:  InterTransferRequestMessageSetV1
 * Namespace: http://ofx.net/types/2003/04
 * Java type: net.ofx.types.x2003.x04.InterTransferRequestMessageSetV1
 *
 * Automatically generated - do not modify.
 */
package net.ofx.types.x2003.x04.impl;
/**
 * An XML InterTransferRequestMessageSetV1(@http://ofx.net/types/2003/04).
 *
 * This is a complex type.
 */
public class InterTransferRequestMessageSetV1Impl extends net.ofx.types.x2003.x04.impl.AbstractRequestMessageSetImpl implements net.ofx.types.x2003.x04.InterTransferRequestMessageSetV1
{
    
    public InterTransferRequestMessageSetV1Impl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName INTERTRNRQ$0 = 
        new javax.xml.namespace.QName("", "INTERTRNRQ");
    private static final javax.xml.namespace.QName RECINTERTRNRQ$2 = 
        new javax.xml.namespace.QName("", "RECINTERTRNRQ");
    private static final javax.xml.namespace.QName INTERSYNCRQ$4 = 
        new javax.xml.namespace.QName("", "INTERSYNCRQ");
    private static final javax.xml.namespace.QName RECINTERSYNCRQ$6 = 
        new javax.xml.namespace.QName("", "RECINTERSYNCRQ");
    
    
    /**
     * Gets array of all "INTERTRNRQ" elements
     */
    public net.ofx.types.x2003.x04.InterTransactionRequest[] getINTERTRNRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(INTERTRNRQ$0, targetList);
            net.ofx.types.x2003.x04.InterTransactionRequest[] result = new net.ofx.types.x2003.x04.InterTransactionRequest[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "INTERTRNRQ" element
     */
    public net.ofx.types.x2003.x04.InterTransactionRequest getINTERTRNRQArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.InterTransactionRequest)get_store().find_element_user(INTERTRNRQ$0, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "INTERTRNRQ" element
     */
    public int sizeOfINTERTRNRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(INTERTRNRQ$0);
        }
    }
    
    /**
     * Sets array of all "INTERTRNRQ" element
     */
    public void setINTERTRNRQArray(net.ofx.types.x2003.x04.InterTransactionRequest[] intertrnrqArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(intertrnrqArray, INTERTRNRQ$0);
        }
    }
    
    /**
     * Sets ith "INTERTRNRQ" element
     */
    public void setINTERTRNRQArray(int i, net.ofx.types.x2003.x04.InterTransactionRequest intertrnrq)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.InterTransactionRequest)get_store().find_element_user(INTERTRNRQ$0, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(intertrnrq);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "INTERTRNRQ" element
     */
    public net.ofx.types.x2003.x04.InterTransactionRequest insertNewINTERTRNRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.InterTransactionRequest)get_store().insert_element_user(INTERTRNRQ$0, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "INTERTRNRQ" element
     */
    public net.ofx.types.x2003.x04.InterTransactionRequest addNewINTERTRNRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.InterTransactionRequest)get_store().add_element_user(INTERTRNRQ$0);
            return target;
        }
    }
    
    /**
     * Removes the ith "INTERTRNRQ" element
     */
    public void removeINTERTRNRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(INTERTRNRQ$0, i);
        }
    }
    
    /**
     * Gets array of all "RECINTERTRNRQ" elements
     */
    public net.ofx.types.x2003.x04.RecurringInterTransactionRequest[] getRECINTERTRNRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(RECINTERTRNRQ$2, targetList);
            net.ofx.types.x2003.x04.RecurringInterTransactionRequest[] result = new net.ofx.types.x2003.x04.RecurringInterTransactionRequest[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "RECINTERTRNRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringInterTransactionRequest getRECINTERTRNRQArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterTransactionRequest)get_store().find_element_user(RECINTERTRNRQ$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "RECINTERTRNRQ" element
     */
    public int sizeOfRECINTERTRNRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(RECINTERTRNRQ$2);
        }
    }
    
    /**
     * Sets array of all "RECINTERTRNRQ" element
     */
    public void setRECINTERTRNRQArray(net.ofx.types.x2003.x04.RecurringInterTransactionRequest[] recintertrnrqArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(recintertrnrqArray, RECINTERTRNRQ$2);
        }
    }
    
    /**
     * Sets ith "RECINTERTRNRQ" element
     */
    public void setRECINTERTRNRQArray(int i, net.ofx.types.x2003.x04.RecurringInterTransactionRequest recintertrnrq)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterTransactionRequest)get_store().find_element_user(RECINTERTRNRQ$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(recintertrnrq);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "RECINTERTRNRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringInterTransactionRequest insertNewRECINTERTRNRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterTransactionRequest)get_store().insert_element_user(RECINTERTRNRQ$2, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "RECINTERTRNRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringInterTransactionRequest addNewRECINTERTRNRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterTransactionRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterTransactionRequest)get_store().add_element_user(RECINTERTRNRQ$2);
            return target;
        }
    }
    
    /**
     * Removes the ith "RECINTERTRNRQ" element
     */
    public void removeRECINTERTRNRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(RECINTERTRNRQ$2, i);
        }
    }
    
    /**
     * Gets array of all "INTERSYNCRQ" elements
     */
    public net.ofx.types.x2003.x04.InterSyncRequest[] getINTERSYNCRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(INTERSYNCRQ$4, targetList);
            net.ofx.types.x2003.x04.InterSyncRequest[] result = new net.ofx.types.x2003.x04.InterSyncRequest[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "INTERSYNCRQ" element
     */
    public net.ofx.types.x2003.x04.InterSyncRequest getINTERSYNCRQArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.InterSyncRequest)get_store().find_element_user(INTERSYNCRQ$4, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "INTERSYNCRQ" element
     */
    public int sizeOfINTERSYNCRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(INTERSYNCRQ$4);
        }
    }
    
    /**
     * Sets array of all "INTERSYNCRQ" element
     */
    public void setINTERSYNCRQArray(net.ofx.types.x2003.x04.InterSyncRequest[] intersyncrqArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(intersyncrqArray, INTERSYNCRQ$4);
        }
    }
    
    /**
     * Sets ith "INTERSYNCRQ" element
     */
    public void setINTERSYNCRQArray(int i, net.ofx.types.x2003.x04.InterSyncRequest intersyncrq)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.InterSyncRequest)get_store().find_element_user(INTERSYNCRQ$4, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(intersyncrq);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "INTERSYNCRQ" element
     */
    public net.ofx.types.x2003.x04.InterSyncRequest insertNewINTERSYNCRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.InterSyncRequest)get_store().insert_element_user(INTERSYNCRQ$4, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "INTERSYNCRQ" element
     */
    public net.ofx.types.x2003.x04.InterSyncRequest addNewINTERSYNCRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.InterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.InterSyncRequest)get_store().add_element_user(INTERSYNCRQ$4);
            return target;
        }
    }
    
    /**
     * Removes the ith "INTERSYNCRQ" element
     */
    public void removeINTERSYNCRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(INTERSYNCRQ$4, i);
        }
    }
    
    /**
     * Gets array of all "RECINTERSYNCRQ" elements
     */
    public net.ofx.types.x2003.x04.RecurringInterSyncRequest[] getRECINTERSYNCRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(RECINTERSYNCRQ$6, targetList);
            net.ofx.types.x2003.x04.RecurringInterSyncRequest[] result = new net.ofx.types.x2003.x04.RecurringInterSyncRequest[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "RECINTERSYNCRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringInterSyncRequest getRECINTERSYNCRQArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterSyncRequest)get_store().find_element_user(RECINTERSYNCRQ$6, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "RECINTERSYNCRQ" element
     */
    public int sizeOfRECINTERSYNCRQArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(RECINTERSYNCRQ$6);
        }
    }
    
    /**
     * Sets array of all "RECINTERSYNCRQ" element
     */
    public void setRECINTERSYNCRQArray(net.ofx.types.x2003.x04.RecurringInterSyncRequest[] recintersyncrqArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(recintersyncrqArray, RECINTERSYNCRQ$6);
        }
    }
    
    /**
     * Sets ith "RECINTERSYNCRQ" element
     */
    public void setRECINTERSYNCRQArray(int i, net.ofx.types.x2003.x04.RecurringInterSyncRequest recintersyncrq)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterSyncRequest)get_store().find_element_user(RECINTERSYNCRQ$6, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(recintersyncrq);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "RECINTERSYNCRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringInterSyncRequest insertNewRECINTERSYNCRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterSyncRequest)get_store().insert_element_user(RECINTERSYNCRQ$6, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "RECINTERSYNCRQ" element
     */
    public net.ofx.types.x2003.x04.RecurringInterSyncRequest addNewRECINTERSYNCRQ()
    {
        synchronized (monitor())
        {
            check_orphaned();
            net.ofx.types.x2003.x04.RecurringInterSyncRequest target = null;
            target = (net.ofx.types.x2003.x04.RecurringInterSyncRequest)get_store().add_element_user(RECINTERSYNCRQ$6);
            return target;
        }
    }
    
    /**
     * Removes the ith "RECINTERSYNCRQ" element
     */
    public void removeRECINTERSYNCRQ(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(RECINTERSYNCRQ$6, i);
        }
    }
}
